/**
 * H5端专用时间转换工具
 * 专门用于将后端时间转换为 yyyy-MM-dd 格式
 */
export default {
  /**
   * 将后端时间转换为年月日格式
   * @param {Number|String} time 后端返回的时间（时间戳或字符串）
   * @returns {String} 转换后的年月日，如：2023-10-05
   */
  toYMD(time) {
    if (!time) return '--';
    
    let date;
    
    // 处理时间戳（支持秒级和毫秒级）
    if (/^\d+$/.test(time)) {
      const numTime = Number(time);
      // 10位是秒级，13位是毫秒级
      const timestamp = numTime.toString().length === 10 ? numTime * 1000 : numTime;
      date = new Date(timestamp);
    } 
    // 处理字符串格式时间
    else if (typeof time === 'string') {
      // 处理ISO格式（如：2023-10-05T14:30:00）
      const cleanTime = time.replace('T', ' ').split('.')[0];
      date = new Date(cleanTime);
    } 
    // 不支持的格式
    else {
      return '无效时间';
    }
    
    // 验证日期有效性
    if (isNaN(date.getTime())) {
      return '无效时间';
    }
    
    // 获取年、月、日
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始，补零
    const day = String(date.getDate()).padStart(2, '0'); // 补零
    
    return `${year}-${month}-${day}`;
  },
  
  /**
   * 转换为中文年月日格式
   * @param {Number|String} time 后端返回的时间
   * @returns {String} 如：2023年10月05日
   */
  toChineseYMD(time) {
    const ymd = this.toYMD(time);
    if (ymd.includes('-')) {
      return ymd.replace(/-/g, '年') + '日';
    }
    return ymd;
  }
};